package com.ruoyi.api.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 快递消息
 *
 * @author 寻觅
 * @since 2025-06-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("courier_company_message")
public class CourierCompanyMessage implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 消息ID，主键
     */
    private Integer messageId;

    /**
     * 接收消息的快递公司ID，外键
     */
    private Integer companyId;

    /**
     * 发送者类型
     * COURIER: 快递员
     * MERCHANT: 商家
     * USER: 用户
     */
    private String senderType;

    /**
     * 发送者ID，根据senderType关联到对应表的ID
     */
    private Integer senderId;

    /**
     * 消息类型
     * COMPLAINT: 投诉
     * SUGGESTION: 建议
     * INQUIRY: 咨询
     * FEEDBACK: 反馈
     */
    private String messageType;

    /**
     * 消息标题
     */
    private String title;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 附件URL
     */
    private String attachment;

    /**
     * 消息状态
     * UNREAD: 未读
     * READ: 已读
     * PROCESSING: 处理中
     * RESOLVED: 已解决
     */
    private String status;

    /**
     * 回复内容
     */
    private String replyContent;

    /**
     * 回复时间
     */
    private LocalDateTime replyTime;

    /**
     * 是否匿名
     * 0: 否
     * 1: 是
     */
    private Boolean isAnonymous;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;


}
